package Action;

import Forms.UsuarioForm;
import beans.Usuario;
import hibernate.UsuarioBD;
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 *
 * @author Antonio
 */
public class NuevoUsuarioAction extends Action {

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception 
    {
        Calendar calendario;
        Integer dia,mes,anyo;        
        
        //Recuperamos el form y el bean
        UsuarioForm usuarioForm = (UsuarioForm)form;
        Usuario usuario = usuarioForm.getUsuario();
    
        
        UsuarioBD usuarioBd = new UsuarioBD(usuario);
        
        //Comprobamos que no exista ya un usuario con su nombre de usuario
        //Si existe fallo y vuelve a la página
        if(usuarioBd.existeUsuario())
        {            
            req.setAttribute("bandera", true);
            return mapping.findForward("fallo");
        }
        else //si no, añadimos el usuario
        {               
            req.setAttribute("bandera", false);
            dia = new Integer(usuario.getDiaFecha());
            mes = new Integer(usuario.getMesFecha());
            anyo = new Integer(usuario.getAnyoFecha());
            calendario = new GregorianCalendar(anyo, mes, dia);
            usuario.setFechaNacimiento(calendario);
            //Copiar en el siguiente action y borrar de aqui
            //usuarioBd.setUsuario(usuario);
            //usuarioBd.anadir();
            req.getSession().setAttribute("usuarioActual", usuario);
            return mapping.findForward("ok");
        }
     }

    
}
